Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
In modern data centers, numerous Virtual Machines (VMs), often associated with numerous data center customers, execute on numerous servers. It is also common for multiple VMs to execute on any one data center server. Virtual Machine Managers (VMMs) manage sharing of hardware resources, such as processor time, by VMs running on each data center server. Data centers also typically include load balancers and/or a variety of other related components that optimize use of hardware resources therein, for example by starting and terminating VMs to adapt to workloads, assigning VMs to available servers, and migrating VMs among servers.
VMs within a data center may be configured for any of a huge variety of tasks. Some VMs may support ecommerce, such as by providing product descriptions, prices, customer account information and payment processing services supporting an ecommerce website. Some VMs may support mobile applications such as news, sports, weather, and email feeds. Some VMs may support single- or multiplayer gaming applications. The variety of uses for VMs within data centers is very wide and continues to grow.
Furthermore, mainstream computer use is evolving from individually managed, stand-alone computing devices to connected devices that access software and/or data via a network connection. “Cloud computing” generally refers to a computing model in which computing resources may be accessed via a network connection. Resources available from the network may be referred to as “in the cloud”. Behind a network connection, a “cloud” may comprise professionally managed hardware and software, which hardware and software is often in data centers.
Security is one important concern of customers considering deployment of their VMs and/or data within data centers, or otherwise considering deployments within the cloud. Potential security compromises include, for example, the malevolent capture of VM images during storage, capture of VM images during migration of VMs for load balance, or capture of VM images while moving data center customers from one data center to another. In some data centers, large numbers of VMs are available to copy in decrypted form, complete with access keys, for anyone who spends the time trying registration numbers at a web interface. In other situations VM images are vulnerable as they may be migrated as one piece, decrypted as one piece, and may sit in a single location within a data center for long periods of time. In one example attack, a series of web commands may be “replayed” to migrate a VM instance, resulting in generation of a copy of the VM instance being sent to the destination of the attacker's choice. Standard encryption of data within the VM image, in these cases, may be of minimal value since the VM typically contains the key to unlock its own data. As a result, there is a need in the art to provide effective security measures in data centers and/or other computing environments adapted for simultaneous execution of multiple VMs.